package com.boom.pojo;

import java.util.Calendar;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.hibernate.validator.constraints.NotEmpty;
import org.springframework.format.annotation.DateTimeFormat;

@Data
@TableName(value = "smbms_user")
public class User {
	@TableId(type = IdType.AUTO)
	private Integer id; // id
	@NotEmpty(message = "用户编码不能为空")
	private String userCode; // 用户编码

	private String userName; // 用户名称

	private String userPassword; // 用户密码
	private Integer gender; // 性别

	@DateTimeFormat(pattern = "yyyy-MM-dd")
	@JsonFormat(pattern = "yyyy-MM-dd")
	private Date birthday; // 出生日期

	private String phone; // 电话

	private String address; // 地址

	private Integer userRole; // 用户角色

	private Integer createdBy; // 创建者


	@JsonFormat(pattern = "yyyy-MM-dd")
	@DateTimeFormat(pattern = "yyyy-MM-dd")
	private Date creationDate; // 创建时间

	@TableField("modifyBy")
	private Integer modifyBy; // 更新者

	@TableField("modifyDate")
	private Date modifyDate; // 更新时间

	@TableField(exist = false)
	private Integer age;//年龄

	public Integer getAge() {
		/*
		 * long time = System.currentTimeMillis()-birthday.getTime(); Integer age =
		 * Long.valueOf(time/365/24/60/60/1000).IntegerValue();
		 */
		Date date = new Date();
		Integer age = date.getYear() - birthday.getYear();
		return age;
	}

	@TableField(exist = false)
	private String userRoleName; // 用户角色名称

}
